Skip to content

feat: asset caching, outdated check, and local installs#34

Merged
airscripts merged 3 commits into
mainfrom
feat/v0.5.0-user-experience
Apr 23, 2026
Merged

feat: asset caching, outdated check, and local installs#34
airscripts merged 3 commits into
mainfrom
feat/v0.5.0-user-experience

Conversation

@clawdeeo
Copy link
Copy Markdown
Collaborator

@clawdeeo clawdeeo commented Apr 23, 2026

User Experience

Asset Caching

  • Downloads cached to ~/.gitclaw/cache/, reused on subsequent installs
  • gitclaw cache clean — remove all cached archives
  • gitclaw cache size — show total cache size on disk
  • Cache keys: <owner>_<repo>_<version>_<filename>
  • SHA256 hash verification for cache integrity

Outdated Check

  • gitclaw list --outdated compares installed versions against latest GitHub releases
  • Shows Package, Installed, Latest columns
  • Reports "All packages up to date" when nothing needs updating

Local Installs

  • gitclaw install --local user/repo installs to ./.gitclaw/ in current directory
  • Separate local registry (./.gitclaw/registry.toml) from global
  • gitclaw uninstall --local pkg removes from local scope
  • Local cache isolated under ./.gitclaw/cache/

Tests

  • 29 new tests (185 total)
  • tests/cache.rs: 19 tests for cache key, hash, store, get, clean, size, roundtrip
  • tests/outdated.rs: 5 tests for version comparison logic
  • tests/local.rs: 5 tests for local install dir structure and registry isolation

Checklist

  • All 185 tests pass
  • cargo clippy -- -D warnings clean
  • cargo fmt clean
  • CHANGELOG.md updated
  • README.md updated
  • Version bumped to 0.5.0

@clawdeeo clawdeeo force-pushed the main branch 3 times, most recently from d897650 to 88d0cd7 Compare April 23, 2026 21:07
- Add asset caching to ~/.gitclaw/cache/ with automatic reuse
- Add gitclaw cache clean and gitclaw cache size commands
- Add gitclaw list --outdated to check for newer versions
- Add --local flag for project-scoped installs to ./.gitclaw/
- Add sha2 dependency for cache integrity
@clawdeeo clawdeeo force-pushed the feat/v0.5.0-user-experience branch from b025cf5 to 9987661 Compare April 23, 2026 21:35
@clawdeeo clawdeeo changed the title feat: asset caching, outdated check, and local installs feat: v0.5.0 user experience improvements Apr 23, 2026
@clawdeeo clawdeeo changed the title feat: v0.5.0 user experience improvements feat: asset caching, outdated check, and local installs Apr 23, 2026
- tests/cache.rs: 19 tests for cache key, hash, store, get, clean, size
- tests/outdated.rs: 5 tests for version comparison logic
- tests/local.rs: 5 tests for local install dir structure and registry isolation
- Export cache module from lib.rs for test access
@airscripts airscripts merged commit f267f26 into main Apr 23, 2026
4 checks passed
@clawdeeo clawdeeo deleted the feat/v0.5.0-user-experience branch April 24, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants